<?php
/** @author lalo */

include_once 'Conexion.php';

class Profesor extends Conexion {
    
    public function listarProfesores ($condicion) {
        $this->conectar();
        
        $result = $this->consultar("SELECT * FROM PERSONA JOIN PROFESOR ON (peIdPersona=prIdPersona) $condicion ORDER BY peApePat");
        
        $this->desconectar();
        
        return $result;
    }
        
    public function obtenerPorIdModuloProfesor ($idModuloProfesor) {
        $this->conectar();
        
        $result = $this->consultar("SELECT * FROM modulo JOIN moduloprofesor ON (mopridmodulo = moidmodulo) 
                                                        JOIN profesor ON (mopridprofesor = pridprofesor) 
                                                        JOIN persona ON (pridpersona = peidpersona) 
                                                            WHERE mopridmoduloprofesor = $idModuloProfesor");
        
        $this->desconectar();
        
        return $result[0];
    }
    
    public function listarProfesoresEvalFinal ($idGrupo) {
        $this->conectar();
        
        $result = $this->consultar("SELECT * FROM PERSONA JOIN PROFESOR ON (peIdPersona=prIdPersona) 
                                                            JOIN PROFESOREVALFINAL ON (prIdProfesor = prefIdProfesor)
                                                                WHERE prefIdGrupo = $idGrupo ORDER BY peApePat");
        
        $this->desconectar();
        
        return $result;
    }
    
    public function listarProfesoresNoAsignadosEvalFinal ($idGrupo) {
        $this->conectar();
        
        $result = $this->consultar("(SELECT prIdProfesor, peNombre, peApePat, peApeMat, prNumTrabajador 
                                        FROM PERSONA JOIN PROFESOR ON (peIdPersona=prIdPersona) WHERE prEstado = 'A')
                                    EXCEPT
                                    (SELECT prefIdProfesor, peNombre, peApePat, peApeMat, prNumTrabajador 
                                            FROM PERSONA JOIN PROFESOR ON (peIdPersona=prIdPersona)
                                                            JOIN PROFESOREVALFINAL ON (prIdProfesor=prefIdProfesor) 
                                                                    WHERE prEstado = 'A' AND prefidGrupo = $idGrupo)");
        
        $this->desconectar();
        
        return $result;
    }
    
    public function registrarEvalacion ($idAlumno, $idGrupo, $idModuloProfesor, $dominio, $comunica, $ejemplos, $participa, $teorPrac, $claro, $puntual, $respeto, $expect, $coment) {
        $this->conectar();
        
        $result = $this->insertar("INSERT INTO evaluacionprofesor(evpridinscripcion, evpridmoduloprofesor, 
                                                                evprdominio, evprcomunica, evprejemplos, evprparticipa, evprteoriapract, 
                                                                evprclaro, evprpuntual, evprrespeto, evprexpecta ". ($coment == null ? "" : ", evprcomentario") .")
                                                    VALUES ( (SELECT inidinscripcion FROM inscripcion WHERE inidAlumno = $idAlumno AND inidgrupo = $idGrupo), 
                                                            $idModuloProfesor, '$dominio', '$comunica', '$ejemplos', '$participa', '$teorPrac', '$claro', 
                                                            '$puntual', '$respeto', '$expect' ". ($coment == null ? "" : ", '$coment' ") .")", "evpridevaluacionprofesor");
        
        $this->desconectar();
        
        return $result;        
    }
}

?>